package jia.core.graphics;

import jia.core.Compass;

import java.awt.image.BufferedImage;

//====================================================

/**
 * Defines the interface implemented by an object wishing to present
 * data regarding the graphic representation of a wall in a viewport
 *
 * @author Alec Lanter
 */
public interface WallImage {
	//====================================================
	/**
	 * Returns the images for near, mid and far ranges, for a wall
	 * facing the direction given by wallFacing and a viewport facing
	 * the direction given by viewportFacing at the given distance level
	 *
	 * @param wallFacing
	 * @param viewportFacing
	 * @param distanceLevel
	 * @return
	 */
	public BufferedImage getTexture(Compass wallFacing,
									Compass viewportFacing,
									int distanceLevel);
	
	//====================================================
	/**
	 * Returns the maximum distance level presented by this WallImage
	 *
	 * @return
	 */
	public int getMaxDistanceLevel();

	public String getImageResourceName();
}
